<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>xilnvm: xnvm_bbram_hw.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">xilnvm
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;"
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xnvm__bbram__hw_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">xnvm_bbram_hw.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains NVM library BBRAM modules hardware register definitions. </p>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who  Date        Changes
</p>
<hr/>
<p>
1.0   mmd  04/01/2019 Initial release
2.1     am   08/19/2020 Resolved MISRA C violations.
2.4   kal  07/13/2021 Fixed doxygen warnings
3.1   skg  10/23/2022 Added comments for macros
3.3   ng   11/22/2023 Fixed doxygen grouping
3.5   har  03/13/2025 Added XNVM_BBRAM_8_MEM_REG macro definition</pre><pre></pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">BBRAM Controller Base Address</div></td></tr>
<tr class="memitem:a791e4d21765eb196c6e2819bea01c443"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xnvm__bbram__hw_8h.html#a791e4d21765eb196c6e2819bea01c443">XNVM_BBRAM_BASE_ADDR</a>&#160;&#160;&#160;(0xF11F0000U)</td></tr>
<tr class="memdesc:a791e4d21765eb196c6e2819bea01c443"><td class="mdescLeft">&#160;</td><td class="mdescRight">BBRAM Base Address.  <a href="#a791e4d21765eb196c6e2819bea01c443">More...</a><br/></td></tr>
<tr class="separator:a791e4d21765eb196c6e2819bea01c443"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">BBRAM Controller Registers</div></td></tr>
<tr class="memitem:a7caf87ce570f0ba169e55ce0bd3faf69"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xnvm__bbram__hw_8h.html#a7caf87ce570f0ba169e55ce0bd3faf69">XNVM_BBRAM_STATUS_REG</a>&#160;&#160;&#160;(0x00U)</td></tr>
<tr class="memdesc:a7caf87ce570f0ba169e55ce0bd3faf69"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; BBRAM Control Register offsets  <a href="#a7caf87ce570f0ba169e55ce0bd3faf69">More...</a><br/></td></tr>
<tr class="separator:a7caf87ce570f0ba169e55ce0bd3faf69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5e2f0fb82509488c3d0e6f0417bc96e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac5e2f0fb82509488c3d0e6f0417bc96e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XNVM_BBRAM_CTRL_REG</b>&#160;&#160;&#160;(0x04U)</td></tr>
<tr class="separator:ac5e2f0fb82509488c3d0e6f0417bc96e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6801e42518705030610d149061379da4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6801e42518705030610d149061379da4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XNVM_BBRAM_PGM_MODE_REG</b>&#160;&#160;&#160;(0x08U)</td></tr>
<tr class="separator:a6801e42518705030610d149061379da4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace11affedc6517e78ab353885dbd46f5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace11affedc6517e78ab353885dbd46f5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XNVM_BBRAM_AES_CRC_REG</b>&#160;&#160;&#160;(0x0CU)</td></tr>
<tr class="separator:ace11affedc6517e78ab353885dbd46f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46ecbf17de00ceb1955a2d0d44412533"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46ecbf17de00ceb1955a2d0d44412533"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XNVM_BBRAM_0_REG</b>&#160;&#160;&#160;(0x10U)</td></tr>
<tr class="separator:a46ecbf17de00ceb1955a2d0d44412533"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bef32696aa67987c3325cb363a13272"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9bef32696aa67987c3325cb363a13272"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XNVM_BBRAM_8_REG</b>&#160;&#160;&#160;(0x30U)</td></tr>
<tr class="separator:a9bef32696aa67987c3325cb363a13272"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaab0eca5f9f09e58de06085d9208b118"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaab0eca5f9f09e58de06085d9208b118"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XNVM_BBRAM_MSW_LOCK_REG</b>&#160;&#160;&#160;(0x4CU)</td></tr>
<tr class="separator:aaab0eca5f9f09e58de06085d9208b118"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">STATUS register</div></td></tr>
<tr class="memitem:a88eec70630e98d4d027df42e0735b7cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xnvm__bbram__hw_8h.html#a88eec70630e98d4d027df42e0735b7cf">XNVM_BBRAM_STATUS_PGM_MODE_DONE</a>&#160;&#160;&#160;((u32)0x01U &lt;&lt; 0U)</td></tr>
<tr class="memdesc:a88eec70630e98d4d027df42e0735b7cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; BBRAM Status Register definition  <a href="#a88eec70630e98d4d027df42e0735b7cf">More...</a><br/></td></tr>
<tr class="separator:a88eec70630e98d4d027df42e0735b7cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52c1541a393d73c7029173c875f805e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a52c1541a393d73c7029173c875f805e3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XNVM_BBRAM_STATUS_ZEROIZED</b>&#160;&#160;&#160;((u32)0x01U &lt;&lt; 4U)</td></tr>
<tr class="separator:a52c1541a393d73c7029173c875f805e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a0373f4e0a98947ed17db7a5705d19f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a0373f4e0a98947ed17db7a5705d19f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XNVM_BBRAM_STATUS_AES_CRC_DONE</b>&#160;&#160;&#160;((u32)0x01U &lt;&lt; 8U)</td></tr>
<tr class="separator:a8a0373f4e0a98947ed17db7a5705d19f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc88865275489175d0b41ffa70d5adda"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc88865275489175d0b41ffa70d5adda"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XNVM_BBRAM_STATUS_AES_CRC_PASS</b>&#160;&#160;&#160;((u32)0x01U &lt;&lt; 9U)</td></tr>
<tr class="separator:adc88865275489175d0b41ffa70d5adda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">CTRL register</div></td></tr>
<tr class="memitem:a065b3b8d7d6be2ebeffb4974df61863f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xnvm__bbram__hw_8h.html#a065b3b8d7d6be2ebeffb4974df61863f">XNVM_BBRAM_CTRL_START_ZEROIZE</a>&#160;&#160;&#160;((u32)0x01U &lt;&lt; 0U)</td></tr>
<tr class="memdesc:a065b3b8d7d6be2ebeffb4974df61863f"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; BBRAM Ctrl Start Zeroize mask  <a href="#a065b3b8d7d6be2ebeffb4974df61863f">More...</a><br/></td></tr>
<tr class="separator:a065b3b8d7d6be2ebeffb4974df61863f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">PGM_MODE register</div></td></tr>
<tr class="memitem:af9030aadc91b57ba2036c0aa7c81fdc2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xnvm__bbram__hw_8h.html#af9030aadc91b57ba2036c0aa7c81fdc2">XNVM_EFUSE_PGM_MODE_PASSCODE</a>&#160;&#160;&#160;(0x757BDF0DU)</td></tr>
<tr class="memdesc:af9030aadc91b57ba2036c0aa7c81fdc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; PGM_MODE Passcode  <a href="#af9030aadc91b57ba2036c0aa7c81fdc2">More...</a><br/></td></tr>
<tr class="separator:af9030aadc91b57ba2036c0aa7c81fdc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">MSW_LOCK register definition</div></td></tr>
<tr class="memitem:a6d26b912dbfc8709d217f9dc3b0f6b15"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xnvm__bbram__hw_8h.html#a6d26b912dbfc8709d217f9dc3b0f6b15">XNVM_BBRAM_MSW_LOCK</a>&#160;&#160;&#160;((u32)0x01U &lt;&lt; 0U)</td></tr>
<tr class="memdesc:a6d26b912dbfc8709d217f9dc3b0f6b15"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; BBRAM MSW LOCK Mask  <a href="#a6d26b912dbfc8709d217f9dc3b0f6b15">More...</a><br/></td></tr>
<tr class="separator:a6d26b912dbfc8709d217f9dc3b0f6b15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Timeout in term of number of times status register polled</div></td></tr>
<tr class="memitem:a6c2c8d46a75c721ed4bd0893f796030e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xnvm__bbram__hw_8h.html#a6c2c8d46a75c721ed4bd0893f796030e">XNVM_BBRAM_PGM_MODE_TIMEOUT_VAL</a>&#160;&#160;&#160;(0x400U)</td></tr>
<tr class="memdesc:a6c2c8d46a75c721ed4bd0893f796030e"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; PGM_MODE Timeout  <a href="#a6c2c8d46a75c721ed4bd0893f796030e">More...</a><br/></td></tr>
<tr class="separator:a6c2c8d46a75c721ed4bd0893f796030e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd414f959c99e9ec202ad998ea1a85f4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xnvm__bbram__hw_8h.html#afd414f959c99e9ec202ad998ea1a85f4">XNVM_BBRAM_AES_CRC_DONE_TIMEOUT_VAL</a>&#160;&#160;&#160;(0x400U)</td></tr>
<tr class="memdesc:afd414f959c99e9ec202ad998ea1a85f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">ZEROIZE Timeout.  <a href="#afd414f959c99e9ec202ad998ea1a85f4">More...</a><br/></td></tr>
<tr class="separator:afd414f959c99e9ec202ad998ea1a85f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0eba09038fae11350f11f17bd2348f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0eba09038fae11350f11f17bd2348f9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XNVM_BBRAM_ZEROIZE_TIMEOUT_VAL</b>&#160;&#160;&#160;(0x400U)</td></tr>
<tr class="separator:ae0eba09038fae11350f11f17bd2348f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="afd414f959c99e9ec202ad998ea1a85f4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_BBRAM_AES_CRC_DONE_TIMEOUT_VAL&#160;&#160;&#160;(0x400U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ZEROIZE Timeout. </p>

</div>
</div>
<a class="anchor" id="a791e4d21765eb196c6e2819bea01c443"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_BBRAM_BASE_ADDR&#160;&#160;&#160;(0xF11F0000U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>BBRAM Base Address. </p>

<p>Referenced by <a class="el" href="group__xnvm__bbram__server__apis.html#ga689df607f805a008e64d9c2a181b2f17">XNvm_BbramZeroize()</a>.</p>

</div>
</div>
<a class="anchor" id="a065b3b8d7d6be2ebeffb4974df61863f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_BBRAM_CTRL_START_ZEROIZE&#160;&#160;&#160;((u32)0x01U &lt;&lt; 0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; BBRAM Ctrl Start Zeroize mask </p>

<p>Referenced by <a class="el" href="group__xnvm__bbram__server__apis.html#ga689df607f805a008e64d9c2a181b2f17">XNvm_BbramZeroize()</a>.</p>

</div>
</div>
<a class="anchor" id="a6d26b912dbfc8709d217f9dc3b0f6b15"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_BBRAM_MSW_LOCK&#160;&#160;&#160;((u32)0x01U &lt;&lt; 0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; BBRAM MSW LOCK Mask </p>

<p>Referenced by <a class="el" href="group__xnvm__bbram__server__apis.html#ga3d264db9b87c4fe29a755a02f0bad72f">XNvm_BbramLockUsrDataWrite()</a>.</p>

</div>
</div>
<a class="anchor" id="a6c2c8d46a75c721ed4bd0893f796030e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_BBRAM_PGM_MODE_TIMEOUT_VAL&#160;&#160;&#160;(0x400U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; PGM_MODE Timeout </p>
<p>CRC_DONE Timeout </p>

</div>
</div>
<a class="anchor" id="a88eec70630e98d4d027df42e0735b7cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_BBRAM_STATUS_PGM_MODE_DONE&#160;&#160;&#160;((u32)0x01U &lt;&lt; 0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; BBRAM Status Register definition </p>

</div>
</div>
<a class="anchor" id="a7caf87ce570f0ba169e55ce0bd3faf69"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_BBRAM_STATUS_REG&#160;&#160;&#160;(0x00U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; BBRAM Control Register offsets </p>

<p>Referenced by <a class="el" href="group__xnvm__bbram__server__apis.html#ga689df607f805a008e64d9c2a181b2f17">XNvm_BbramZeroize()</a>.</p>

</div>
</div>
<a class="anchor" id="af9030aadc91b57ba2036c0aa7c81fdc2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XNVM_EFUSE_PGM_MODE_PASSCODE&#160;&#160;&#160;(0x757BDF0DU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; PGM_MODE Passcode </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
